package edu.usmp.p2.pago.service;

import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;

import edu.usmp.p2.disfraz.model.Pago;
import edu.usmp.p2.disfraz.model.Pedido;
import edu.usmp.p2.disfraz.model.Vestuario;
import edu.usmp.p2.model.repository.PagoRepository;
import edu.usmp.p2.model.repository.PedidoRepository;
import edu.usmp.p2.model.repository.VestuarioRepository;
import edu.usmp.p2.util.Utilitario;

public class RegistrarPagoService {
	private PagoRepository pagoRepository;
	private PedidoRepository pedidoRepository;
	private EntityManager em;

	/**
	 * Permite Registrar el Pago de un Pedido
	 * @author ALDO
	 *@version 1.1
	 *@since 31/01/2013
	 */

	
	
	
	public RegistrarPagoService(){
		
		em= Utilitario.getInstance().getEntityManager();
		pagoRepository=new PagoRepository(em);
		pedidoRepository=new PedidoRepository(em);
	}
	
	
	
	/**
	 * Permite insertar en la tabla pago
	 * @param p
	 * @throws RuntimeException
	 */
	public void registrarPago(Pago p) throws RuntimeException{
		
		EntityTransaction tx=em.getTransaction();
		try{
			
			tx.begin();
			pagoRepository.insert(p);
		
			tx.commit();
		}catch (Exception e) {
			e.printStackTrace();
			tx.rollback();
			throw new  RuntimeException("No se pudo registrar el pago");
		}
	}


	




	

	


}
